package com.ost.kautilya.modeling;



public interface Forecaster {
	public static final String RUNTIME_MODE = "mode";

	public boolean hasOverlays();

	public ForecasterPeriodicity getPeriodicity();

	public void primeForecasterIncrementally(DataRow tr) throws Exception;

	public int getTimeFieldIndex();

	public void setCanPredict(boolean pred);

	public void finalizeBatchPredictions() throws Exception;
	
	public int getTimeAttributeID() throws Exception;

	public void setCanPrime(boolean b);

	public boolean getCanPrime();
	
	public boolean isBreakingAtLevel();

	public void forceLevelBreak();

	public int getNumericLabel();

	public void addOverlayDataForPrediction(DataRow tr) throws Exception;

	public long predictedAt();
}